package com.ad2campaign.engine.rest;

import java.util.List;
import java.util.Map;
import java.util.Set;

import com.ad2campaign.engine.db.model.Node;

/*
 * Contract for implementing load balancer.
 * */
public interface Loadbalancer 
{
	public RestActionResponse process(Action action,List<RequestParameter> requestParameters ,Map<String, ?> urlVariables ,Set<Node> excludes ) ;
	public int getNextNode();
	public NodesLoader getNodesLoader();
 	public void setNodesLoader(NodesLoader nodesLoader) ;
 	void init();
	void setMonitorLink(boolean monitorLink);
	boolean isMonitorLink();
	void refresh();
	ActionExecutor getExecutor();
	void destroy();

}
